package com.tuanzi.loan.log.service;

import com.tuanzi.loan.core.vo.PageSearcher;
import com.tuanzi.loan.log.vo.request.ErrorLogSearchRequest;
import com.tuanzi.loan.log.vo.response.ErrorLogDetailResponse;
import com.tuanzi.loan.log.vo.response.ErrorLogSearchResponse;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 异常日志业务类接口
 * @author JinRuiyang 2017/11/21
 */
public interface ErrorLogService {

	/**
	 * 查询异常日志详情
	 * @param id 异常日志
	 * @return 异常日志详情
	 */
	ErrorLogDetailResponse findById(Long id);

	/**
	 * 根据异常日志查询请求获取日志列表
	 * @param pageSearcher 日志查询请求
	 * @return 异常日志列表
	 */
	Page<ErrorLogSearchResponse> list(PageSearcher<ErrorLogSearchRequest> pageSearcher);

	/**
	 * 获取异常日志表中的项目名称列表
	 * @return 项目名称列表
	 */
	List<String> getAllProjectName();

	/**
	 * 批量标记异常日志的处理状态 state: 1 -> 0
	 * @param exceptions 异常信息集合，批量更新状态
	 */
	void batchSetDone(List<ErrorLogSearchResponse> exceptions);

	/**
	 * 标记异常日志的处理状态 state: 1 -> 0
	 * @param exception 异常信息，更新状态
	 */
	void setDone(ErrorLogSearchResponse exception);
}
